A server may include multiple server applications. The applications may be comprised of program components of varying types and existing in different containers, each container providing life cycle management, security, deployment, and runtime services for the components. Each of such applications may in turn require connections with various external resources, with the resources being connected to the servers using varying connectors.
The connections of the applications and the external resources may be complex. Generally it is necessary that each connection between an application and a resource be negotiated and handled separately. Each of the relationships between an application and an external resource may require a separate resource manager for the establishment of the communications contract for the relationship.
Therefore, the establishment and elimination of connections for a server may be complex when multiple applications and resources are involved. Further, the separate negotiation and establishment of communications contracts may mean that possible sharing of resources among components is not addressed and that processes for enlisting and delisting resources are not handled efficiently.